diff options
| author | joonhoekim <26rote@gmail.com> | 2025-11-17 20:47:44 +0900 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-11-17 20:47:44 +0900 |
| commit | e6403e9610253b2bfc7a46e470c236e2ed10c626 (patch) | |
| tree | 05f7e458ac8b0f3bef56553e4cfbd666f5134042 /app/[lng]/partners | |
| parent | f56eb799ecdcd2baae1db26460cd1deff0a69eee (diff) | |
(김준회) swp: VxDCS 와 동일하게 변경, Complete된 리스트 중 없는 건이 있으면 DOCUMENT LIST에서 보여줌
Diffstat (limited to 'app/[lng]/partners')
| -rw-r--r-- | app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx b/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx index 67fbfd9f..eaa1d4e0 100644 --- a/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx +++ b/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx @@ -32,6 +32,7 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP // 상태 관리 const [documents, setDocuments] = useState<DocumentListItem[]>([]); const [inboxFiles, setInboxFiles] = useState<SwpFileApiResponse[]>([]); + const [requiredDocs, setRequiredDocs] = useState<Array<{ vendorDocNumber: string; title: string; buyerSystemComment: string | null }>>([]); const [projNo, setProjNo] = useState(initialProjNo); const [projects, setProjects] = useState<Array<{ PROJ_NO: string; PROJ_NM: string }>>([]); const [stats, setStats] = useState({ @@ -95,14 +96,15 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP // 초기 프로젝트가 있으면 문서 로드 if (initialProjNo) { - const [documentsData, statsData, inboxFilesData] = await Promise.all([ + const [documentsData, statsData, uploadedData] = await Promise.all([ fetchVendorDocuments(initialProjNo), fetchVendorSwpStats(initialProjNo), fetchVendorUploadedFiles(initialProjNo), ]); setDocuments(documentsData); setStats(statsData); - setInboxFiles(inboxFilesData); + setInboxFiles(uploadedData.files); + setRequiredDocs(uploadedData.requiredDocs); } } catch (err) { console.error("초기 데이터 로드 실패:", err); @@ -120,7 +122,7 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP setIsRefreshing(true); setError(null); - const [documentsData, statsData, inboxFilesData] = await Promise.all([ + const [documentsData, statsData, uploadedData] = await Promise.all([ fetchVendorDocuments(projNo), fetchVendorSwpStats(projNo), fetchVendorUploadedFiles(projNo), @@ -128,7 +130,8 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP setDocuments(documentsData); setStats(statsData); - setInboxFiles(inboxFilesData); + setInboxFiles(uploadedData.files); + setRequiredDocs(uploadedData.requiredDocs); toast.success("문서 목록을 갱신했습니다"); } catch (err) { console.error("문서 로드 실패:", err); @@ -319,17 +322,18 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP <Tabs value={activeTab} onValueChange={setActiveTab} className="w-full"> <TabsList className="grid w-full grid-cols-2"> <TabsTrigger value="inbox"> - SBOX (ALL) + DOCUMENT REGISTRATION {/* ({filteredInboxFiles.length}) */} </TabsTrigger> <TabsTrigger value="documents"> - VDR Documents (Received) + DOCUMENT LIST {/* ({filteredDocuments.length}) */} </TabsTrigger> </TabsList> <TabsContent value="inbox" className="mt-4"> <SwpInboxTable files={filteredInboxFiles} + requiredDocs={requiredDocs} projNo={projNo} vendorCode={vendorInfo?.vendorCode || ""} userId={String(vendorInfo?.vendorId || "")} |
